//package org.x.common.web.utils;
//
//import org.apache.dubbo.rpc.RpcContext;
//
//import java.util.Arrays;
//import java.util.Collections;
//import java.util.List;
//
///**
// * 用户上下文工具类
// */
//public class UserContextKit {
//
//    // 获取当前用户ID（统一入口）
//    public static String getUserId() {
//        // 优先从Spring Security上下文获取
//        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
//        if (authentication != null && authentication.isAuthenticated()) {
//            return authentication.getName();
//        }
//
//        // 次从Dubbo上下文获取（适用于服务间调用）
//        return RpcContext.getServerContext().getAttachment("X-User-Id");
//    }
//
//    // 获取当前用户角色
//    public static List<String> getCurrentRoles() {
//        String rolesStr = RpcContext.getServerContext().getAttachment("X-User-Roles");
//        if (rolesStr != null) {
//            return Arrays.asList(rolesStr.split(","));
//        }
//        return Collections.emptyList();
//    }
//
//}
